home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / T-COMAL Today / (k)td.d64 / proc.1520plotter < prev    next >
Text File  |  2007-02-28  |  3KB  |  165 lines

  1. 0010 // DELETE "0:PROC.1520PLOTTER"
  2. 0020 // LIST   "0:PROC.1520PLOTTER"
  3. 0030 //
  4. 0040 // ╨ROCEEDURES FOR USE WITH
  5. 0050 // ├OMMODORE 1520 PLOTTER/PRINTER
  6. 0060 // ┬Y: ╒NICOMAL,┴╨╙--┴BSTRACTED
  7. 0070 // FROM CARTRIDGE DEMO DISK #3
  8. 0080 //
  9. 0090 ╨╥╧├ USE'1520 
  10. 0100   XCOR:=0; YCOR:=0
  11. 0110   TWOPI:=2*╨╔
  12. 0120   RAD:=╨╔/180
  13. 0130   BLACK:=0
  14. 0140   BLUE:=1
  15. 0150   GREEN:=2
  16. 0160   RED:=3
  17. 0170   HOME
  18. 0180   PENCOLOR(BLACK)
  19. 0190   SETHEADING(0)
  20. 0200   DOWN:=╘╥╒┼
  21. 0210 ┼╬─╨╥╧├ USE'1520
  22. 0220 
  23. 0230 //--- LOW LEVEL I/O ---//
  24. 0240 
  25. 0250 ╨╥╧├ TALK(SA$,TEXT$) 
  26. 0260   ╧╨┼╬ ╞╔╠┼ 100,"U6:/S"+SA$,╫╥╔╘┼
  27. 0270   ╨╥╔╬╘ ╞╔╠┼ 100: TEXT$
  28. 0280   ├╠╧╙┼ ╞╔╠┼ 100
  29. 0290 ┼╬─╨╥╧├ TALK
  30. 0300 
  31. 0310 //--- X-Y GRAPHICS ---//
  32. 0320 
  33. 0330 ╨╥╧├ PLOTTEXT(X,Y,TEXT$) 
  34. 0340   MOVETO(X,Y)
  35. 0350   ╔╞ DOWN ╘╚┼╬ TALK("0",TEXT$)
  36. 0360   MOVETO(X,Y)
  37. 0370 ┼╬─╨╥╧├ PLOTTEXT
  38. 0380 
  39. 0390 ╨╥╧├ MOVETO(X,Y) 
  40. 0400   XCOR:=X; YCOR:=Y
  41. 0410   TALK("1","M"+╙╘╥$(╔╬╘(X))+" "+╙╘╥$(╔╬╘(Y)))
  42. 0420 ┼╬─╨╥╧├ MOVETO
  43. 0430 
  44. 0440 ╨╥╧├ MOVE(X,Y) 
  45. 0450   MOVETO(XCOR+X,YCOR+Y)
  46. 0460 ┼╬─╨╥╧├ MOVE
  47. 0470 
  48. 0480 ╨╥╧├ DRAWTO(X,Y) 
  49. 0490   ╔╞ DOWN ╘╚┼╬
  50. 0500     XCOR:=X; YCOR:=Y
  51. 0510     TALK("1","D"+╙╘╥$(╔╬╘(X))+" "+╙╘╥$(╔╬╘(Y)))
  52. 0520   ┼╠╙┼ 
  53. 0530     MOVETO(X,Y)
  54. 0540   ┼╬─╔╞ 
  55. 0550 ┼╬─╨╥╧├ DRAWTO
  56. 0560 
  57. 0570 ╨╥╧├ DRAW(X,Y) 
  58. 0580   DRAWTO(XCOR+X,YCOR+Y)
  59. 0590 ┼╬─╨╥╧├ DRAW
  60. 0600 
  61. 0610 ╨╥╧├ HOME 
  62. 0620   TALK("1","H")
  63. 0630 ┼╬─╨╥╧├ HOME
  64. 0640 
  65. 0650 ╨╥╧├ ARC(X,Y,R,START,BUE) 
  66. 0660   V:=START*RAD; BUE:=BUE*RAD
  67. 0670   ANTALV:=╔╬╘(BUE*16)
  68. 0680   DV:=BUE/ANTALV
  69. 0690   MOVETO(X+R*├╧╙(V),Y+R*╙╔╬(V))
  70. 0700   ╞╧╥ I#:=1 ╘╧ ANTALV ─╧
  71. 0710     V:+DV
  72. 0720     DRAWTO(X+R*├╧╙(V),Y+R*╙╔╬(V))
  73. 0730   ┼╬─╞╧╥ I#
  74. 0740 ┼╬─╨╥╧├ ARC
  75. 0750 
  76. 0760 ╨╥╧├ CIRCLE(X,Y,R) 
  77. 0770   ARC(X,Y,R,0,360)
  78. 0780 ┼╬─╨╥╧├ CIRCLE
  79. 0790 
  80. 0800 ╨╥╧├ PENCOLOR(C) 
  81. 0810   COLOR:=C
  82. 0820   TALK("2",╙╘╥$(COLOR))
  83. 0830 ┼╬─╨╥╧├ PENCOLOR
  84. 0840 
  85. 0850 ╨╥╧├ TEXTSTYLE(LINELENGTH,DIREC#) 
  86. 0860   ╔╞ LINELENGTH<=10 ╘╚┼╬
  87. 0870     TALK("3","3")
  88. 0880   ┼╠╔╞ LINELENGTH<=20 ╘╚┼╬
  89. 0890     TALK("3","2")
  90. 0900   ┼╠╔╞ LINELENGTH<=40 ╘╚┼╬
  91. 0910     TALK("3","1")
  92. 0920   ┼╠╙┼ 
  93. 0930     TALK("3","0")
  94. 0940   ┼╬─╔╞ 
  95. 0950   TALK("4",╙╘╥$(DIREC#))
  96. 0960 ┼╬─╨╥╧├ TEXTSTYLE
  97. 0970 
  98. 0980 ╨╥╧├ LINETYPE(T#) 
  99. 0990   TALK("5",╙╘╥$(T#))
  100. 1000 ┼╬─╨╥╧├ LINETYPE
  101. 1010 
  102. 1020 ╨╥╧├ SELECTFONT(F#) 
  103. 1030   TALK("6",╙╘╥$(F#))
  104. 1040 ┼╬─╨╥╧├ SELECTFONT
  105. 1050 
  106. 1060 ╨╥╧├ RESET1520 
  107. 1070   TALK("7","")
  108. 1080 ┼╬─╨╥╧├ RESET1520
  109. 1090 
  110. 1100 //--- TURTLE GRAPHICS ---//
  111. 1110 
  112. 1120 ╨╥╧├ SETHEADING(A) 
  113. 1130   ╫╚╔╠┼ A<0 ─╧ A:+360
  114. 1140   ╫╚╔╠┼ A>=360 ─╧ A:-360
  115. 1150   HEADING:=A; A:=(90-A)*RAD
  116. 1160   COSA:=├╧╙(A); SINA:=╙╔╬(A)
  117. 1170 ┼╬─╨╥╧├ SETHEADING
  118. 1180 
  119. 1190 ╨╥╧├ LEFT(A) 
  120. 1200   SETHEADING(HEADING-A)
  121. 1210 ┼╬─╨╥╧├ LEFT
  122. 1220 
  123. 1230 ╨╥╧├ RIGHT(A) 
  124. 1240   SETHEADING(HEADING+A)
  125. 1250 ┼╬─╨╥╧├ RIGHT
  126. 1260 
  127. 1270 ╨╥╧├ FORWARD(D) 
  128. 1280   DRAW(D*COSA,D*SINA)
  129. 1290 ┼╬─╨╥╧├ FORWARD
  130. 1300 
  131. 1310 ╨╥╧├ BACK(D) 
  132. 1320   DRAW(-D*COSA,-D*SINA)
  133. 1330 ┼╬─╨╥╧├ BACK
  134. 1340 
  135. 1350 ╨╥╧├ PENDOWN 
  136. 1360   DOWN:=╘╥╒┼
  137. 1370 ┼╬─╨╥╧├ PENDOWN
  138. 1380 
  139. 1390 ╨╥╧├ PENUP 
  140. 1400   DOWN:=╞┴╠╙┼
  141. 1410 ┼╬─╨╥╧├ PENUP
  142. 1420 
  143. 1430 ╨╥╧├ SETXY(X,Y) 
  144. 1440   DRAWTO(X,Y)
  145. 1450 ┼╬─╨╥╧├ SETXY
  146. 1460 
  147. 1470 ╨╥╧├ SHOWTURTLE 
  148. 1480 ┼╬─╨╥╧├ SHOWTURTLE
  149. 1490 
  150. 1500 ╨╥╧├ HIDETURTLE 
  151. 1510 ┼╬─╨╥╧├ HIDETURTLE
  152. 1520 
  153. 1530 ╨╥╧├ TEXTSCREEN 
  154. 1540 ┼╬─╨╥╧├ TEXTSCREEN
  155. 1550 
  156. 1560 ╨╥╧├ GRAPHICSCREEN(MODE) 
  157. 1570 ┼╬─╨╥╧├ GRAPHICSCREEN
  158. 1580 
  159. 1590 ╨╥╧├ FULLSCREEN 
  160. 1600 ┼╬─╨╥╧├ FULLSCREEN
  161. 1610 
  162. 1620 ╨╥╧├ SPLITSCREEN 
  163. 1630 ┼╬─╨╥╧├ SPLITSCREEN
  164. 1640 
  165.